完善高可用的企业私有云通常由哪些组成
完善高可用的企业私有云通常由以下这些组成:
管理节点:作为一个完善的OpenStack私有云集群,管理节点应该具备“带外”和“带内”管理功能,通过“带外”管理,实现裸机服务器的系统部署、远程开关机等功能,通过“带内”管理实现私有云集群的操作系统和OpenStack集群的部署管理。通常,带外和带内管理功能可以独立部署,也可合并在同一个管理节点上实现。在私有云集群中,除了集群管理之外,管理节点通常还会承担整个集群的共享仓库源,如Docker容器镜像仓库、yum源仓库以及操作系统镜像存放等功能。因此,在管理节点配置选型方面,需要考虑适当的本地存储空间,依据受管集群的规模大小,可以考虑配置适当的CPU、内存资源。
控制节点:控制节点主要向OpenStack私有云用户提供管理控制集群的API,是用户与OpenStack云计算资源池进行交互的关键。控制节点通常运行OpenStack集群所依赖的基础架构软件,如RabbitMQ、MariaDB、HAProxy、Keepalived等。除此之外,控制节点还运行OpenStack各个项目的API服务,如Nova-api、Cinder-api和Glance-api等。对于一个面向生产环境的OpenStack高可用集群,控制节点应由奇数台(至少三台)物理服务器组成高可用集群。
计算节点:计算节点是OpenStack对外提供计算资源的关键,通常由运行Hypervisor虚拟化引擎的物理服务器组成。在基于KVM的OpenStack私有云集群中,计算节点主要运行Nova-compute和libvirt服务。在计算节点物理服务器选型方面,为了保证虚拟机的热迁移和高可用,最好选用相同厂商、相同型号的CPU作为计算节点物理服务器,同时配置尽可能多的CPU和内存资源。如果网络采用Multi-host或者DVR(分布式虚拟路由)模式,则须考虑为计算节点规划用于外网通信的万兆网卡,对于计算节点之间或计算节点与控制节点之间通信的隧道网络,可配置多张物理网卡并以多网口绑定方式增加带宽。
存储节点:存储节点主要为OpenStack私有云提供块存储、对象存储或文件存储服务。在OpenStack私有云中,使用最普遍的还是Cinder块存储和Ceph分布式存储。如果仅使用OpenStack原生的块存储服务,则存储节点主要运行Cinder-volume服务;如果使用Ceph分布式存储集群,则存储节点运行Ceph-osd进程,通常Ceph-mon进程会部署在控制节点。就主流的OpenStack私有云建设而言,Ceph是推荐的最佳实践。
网络节点:网络节点为OpenStack私有云提供二层和三层网络服务,在官方推荐的OpenStack集群规划配置中,建议通过独立的网络节点提供网络服务。考虑到网络瓶颈和服务高可用问题,在实际的OpenStack高可用集群部署中,通常把网络服务部署在三个控制节点上,结合负载均衡(HAProxy)和虚拟路由冗余协议(Keepalived/VRRP)实现网络服务的高可用。